package com.xnyzc.lhy.order.service.system;

import com.baomidou.mybatisplus.extension.service.IService;
import com.xnyzc.lhy.common.entity.Rv;
import com.xnyzc.lhy.order.entity.param.order.EndReceiptParam;
import com.xnyzc.lhy.order.entity.param.order.StartReceiptParam;
import com.xnyzc.lhy.order.entity.vehicle.OaSysVehicle;

/**
 * <p>
 * 车辆信息表 服务类
 * </p>
 *
 * @author bin
 * @since 2019-07-22
 */
public interface IOaSysVehicleService extends IService<OaSysVehicle> {

    /**
     * 根据车辆id获取车辆信息
     * @param vehicleId 车辆id
     */
    OaSysVehicle getVehicle(Long vehicleId);


    /**
     * 查询车辆列表
     * hu
     * @param companyId 机构或公司ID
     * @param type 类型(0-全部车辆，1-使用中，2-维修中，3-空闲)
     * @param vehNo 车牌号
     * @return
     */
    Rv listVehicle(Long companyId, Integer type, String vehNo);


    /**
     * 开始接单
     * @return 返回在Redis中的Key
     */
    Rv startReceipt(StartReceiptParam param);

    /**
     * 停止接单
     */
    Rv endReceipt(EndReceiptParam param);

    /**
     * 司机绑定车辆
     * @param tokenUserId 司机ID
     * @param vehicleId 车辆ID
     */
    Rv bindVehicle(long tokenUserId, Long vehicleId);
}
